package com.moli.iov.down.command.design.command.param.setting.impl;

import com.moli.iov.down.model.dto.remoting.extend.CommandExtendDto;
import com.moli.iov.down.command.design.command.param.setting.SettingDataEncoderCommand;
import com.moli.iov.util.ByteArrayUtil;
import com.moli.iov.util.StringUtil;
import org.apache.commons.lang.ArrayUtils;

/**
 * <p>
 *  终端租赁模式： 0x01 非租赁模式； 0x02 租赁模式
 * </p>
 *
 * @author: zql
 * @Date: 2019/4/28 8:47
 */
public class LeasingModeEncoderCommand implements SettingDataEncoderCommand {


    @Override
    public byte[] execute(CommandExtendDto commandExtendDto, byte[] all) {

        //参数ID
        byte[] parameterId = StringUtil.hexStringToByte(commandExtendDto.getParameterId());

        //0x2002 BYTE 终端租赁模式： 0x01 非租赁模式； 0x02 租赁模式  参数内容
        byte[] len = new byte[]{ByteArrayUtil.toByte(1)};
        byte[] paramContent = StringUtil.hexStringToByte(commandExtendDto.getParameterContent());

        byte[] idLen = ArrayUtils.addAll(parameterId, len);
        byte[] bytes = ArrayUtils.addAll(idLen, paramContent);

        return ArrayUtils.addAll(all, bytes);
    }
}
